Predefined এবং Custom Formats

Java Technologies - জাভা টাইম প্যাকেজ (Java.time Package) - DateTimeFormatter Class
175

java.time প্যাকেজটি Java 8 এ যোগ করা হয়েছে এবং এটি তারিখ, সময় এবং সম্পর্কিত কাজগুলির জন্য একটি শক্তিশালী API সরবরাহ করে। এর মধ্যে Instant ক্লাস এবং PredefinedCustom Date-Time Formats এর ব্যবহার খুবই গুরুত্বপূর্ণ। চলুন একে একে আলোচনা করি।

1. Instant Class ব্যবহার:

Instant ক্লাসটি UTC (Coordinated Universal Time) এর একটি নির্দিষ্ট মুহূর্তকে প্রতিনিধিত্ব করে। এটি epoch time (1970-01-01T00:00:00Z) থেকে সেকেন্ড এবং ন্যানোসেকেন্ডের হিসেবে সময় মাপতে ব্যবহৃত হয়।

Instant ব্যবহার করা হয় যখন আপনার টাইমস্ট্যাম্প বা সঠিক সময় পয়েন্ট প্রয়োজন হয়।

Instant ক্লাসের প্রধান মেথডসমূহ:

  • Instant.now(): এটি বর্তমান Instant ফেরত দেয়, অর্থাৎ বর্তমান UTC সময়।
  • Instant.ofEpochSecond(long epochSecond): এটি একটি নির্দিষ্ট epoch সেকেন্ড থেকে Instant তৈরি করে।
  • Instant.ofEpochMilli(long epochMilli): এটি মিলিসেকেন্ডে একটি নির্দিষ্ট epoch সময় থেকে Instant তৈরি করে।
  • toEpochMilli(): এটি Instant কে মিলিসেকেন্ডের মধ্যে epoch time হিসেবে রিটার্ন করে।

Instant ক্লাসের উদাহরণ:

import java.time.Instant;

public class InstantExample {
    public static void main(String[] args) {
        // Get the current instant (UTC time)
        Instant currentInstant = Instant.now();
        System.out.println("Current Instant: " + currentInstant);

        // Convert an epoch second to Instant
        Instant instantFromEpoch = Instant.ofEpochSecond(1620830325);
        System.out.println("Instant from Epoch Second: " + instantFromEpoch);

        // Convert an epoch millisecond to Instant
        Instant instantFromEpochMilli = Instant.ofEpochMilli(1620830325000L);
        System.out.println("Instant from Epoch Millisecond: " + instantFromEpochMilli);

        // Convert Instant to epoch milliseconds
        long epochMilli = currentInstant.toEpochMilli();
        System.out.println("Epoch Milliseconds: " + epochMilli);
    }
}

আউটপুট:

Current Instant: 2024-12-23T10:30:45.123Z
Instant from Epoch Second: 2021-05-12T12:45:25Z
Instant from Epoch Millisecond: 2021-05-12T12:45:25Z
Epoch Milliseconds: 1634316745123

ব্যাখ্যা:

  • Instant.now(): এটি বর্তমান সময় Instant (UTC) ফেরত দেয়।
  • Instant.ofEpochSecond(long epochSecond): এটি নির্দিষ্ট epoch সেকেন্ড থেকে Instant তৈরি করে।
  • Instant.ofEpochMilli(long epochMilli): এটি মিলিসেকেন্ডে নির্দিষ্ট epoch সময় থেকে Instant তৈরি করে।
  • toEpochMilli(): এটি Instant কে মিলিসেকেন্ডে epoch টাইমে রূপান্তরিত করে।

2. Predefined এবং Custom Formats ব্যবহার:

java.time.format.DateTimeFormatter ক্লাসটি তারিখ এবং সময়ের মান প্রদর্শন এবং পার্স করার জন্য ব্যবহৃত হয়। এটি Predefined এবং Custom Formats সাপোর্ট করে।

Predefined Formats:

Java-তে কিছু predefined formats রয়েছে যা ISO স্ট্যান্ডার্ড অনুসরণ করে।

  • ISO_LOCAL_DATE: YYYY-MM-DD (যেমন: 2024-12-23)
  • ISO_LOCAL_TIME: HH:mm:ss (যেমন: 14:30:00)
  • ISO_LOCAL_DATE_TIME: YYYY-MM-DDTHH:mm:ss (যেমন: 2024-12-23T14:30:00)
  • ISO_ZONED_DATE_TIME: 2024-12-23T14:30:00+05:30[Asia/Kolkata]

Custom Formats:

কাস্টম ফরম্যাট তৈরি করতে আপনি DateTimeFormatter.ofPattern("pattern") ব্যবহার করতে পারেন, যেখানে আপনি pattern দিয়ে নিজের ইচ্ছেমতো ফরম্যাট সাজাতে পারেন।

Predefined Format উদাহরণ:

import java.time.*;
import java.time.format.DateTimeFormatter;

public class PredefinedFormatExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();
        LocalTime time = LocalTime.now();
        LocalDateTime dateTime = LocalDateTime.now();

        // ISO Predefined Formats
        System.out.println("ISO_LOCAL_DATE: " + date.format(DateTimeFormatter.ISO_LOCAL_DATE));
        System.out.println("ISO_LOCAL_TIME: " + time.format(DateTimeFormatter.ISO_LOCAL_TIME));
        System.out.println("ISO_LOCAL_DATE_TIME: " + dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
    }
}

আউটপুট:

ISO_LOCAL_DATE: 2024-12-23
ISO_LOCAL_TIME: 14:30:00
ISO_LOCAL_DATE_TIME: 2024-12-23T14:30:00

Custom Format উদাহরণ:

import java.time.*;
import java.time.format.DateTimeFormatter;

public class CustomFormatExample {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.now();

        // Custom DateTime format
        DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("dd MMMM yyyy HH:mm:ss");
        String formattedDateTime = dateTime.format(customFormatter);

        System.out.println("Formatted DateTime: " + formattedDateTime);
    }
}

আউটপুট:

Formatted DateTime: 23 December 2024 14:30:00

ব্যাখ্যা:

  • Predefined Format: আপনি DateTimeFormatter.ISO_LOCAL_DATE অথবা অন্যান্য predefined ফরম্যাট ব্যবহার করে সহজেই ISO স্ট্যান্ডার্ড অনুসরণ করা ফরম্যাট পেতে পারেন।
  • Custom Format: আপনি DateTimeFormatter.ofPattern("pattern") ব্যবহার করে নিজের কাস্টম ফরম্যাট তৈরি করতে পারেন। এখানে "dd MMMM yyyy HH:mm:ss" ফরম্যাটে দিন, মাস, বছর, ঘণ্টা, মিনিট এবং সেকেন্ড প্রদর্শন করা হয়েছে।

Pattern Syntax:

  • d: দিন (1-31)
  • M: মাস (1-12)
  • y: বছর
  • H: ঘণ্টা (0-23)
  • m: মিনিট (0-59)
  • s: সেকেন্ড (0-59)
  • a: AM/PM
  • z: সময় অঞ্চল

  • Instant ক্লাসটি UTC সময়ের একটি নির্দিষ্ট মুহূর্ত সংরক্ষণ করে এবং বিভিন্ন সময় সিস্টেমের মধ্যে কনভার্ট করতে ব্যবহৃত হয়।
  • DateTimeFormatter ব্যবহার করে আপনি Predefined এবং Custom তারিখ এবং সময় ফরম্যাট তৈরি ও প্রয়োগ করতে পারেন।
  • Predefined Formats যেমন ISO_LOCAL_DATE, ISO_LOCAL_TIME এবং ISO_LOCAL_DATE_TIME ব্যবহার করে আপনি সহজে ISO স্ট্যান্ডার্ড অনুযায়ী তারিখ ও সময় ফরম্যাট করতে পারেন।
  • Custom Formats দিয়ে আপনি নির্দিষ্ট প্যাটার্নে তারিখ এবং সময় ফরম্যাট করতে পারেন।

এটি Java 8+ তে তারিখ, সময় এবং টাইমস্ট্যাম্পের কাজ করার জন্য একটি অত্যন্ত শক্তিশালী এবং কার্যকরী API।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...